<?php namespace Admin\Model;
use Hdphp\Model\Model;
/**
 * 后台用户表
 */
Class Admin extends Model{
	//使用的是用户表 admin;
	protected $table = 'admin';

	public function login(){
		// p($_SERVER['REMOTE_ADDR']);获取当前的ip地址
		// $data = $this->get();//得到数据库数据
		// p($data);
		// Array
		// (
		//     [0] => Array
		//         (
		//             [aid] => 1
		//             [aaccount] => admin
		//             [aname] => 山中客
		//             [apwd] => admin888
		//             [aip] => 127.0.0.1
		//             [islock] => 0
		//             [atime] => 1469446407
		//         )

		// )
		// p(Q('post.'));  获得post提交的数据
		// Array
		// (
		//     [aaccount] => admin
		//     [apwd] => admin888
		//     [code] => d
		//     [atime] => 1469447612
		// )
		// p($_SESSION['code']);D
		// post提交的code是小写，$_SESSION['code']是大写，得将post提交的转化为大写
		// $code = strtoupper(Q('post.code'));
		// p($code);
			// 思路
			// 1、验证验证码是否相等
			// 2、判断用户名是否存在
			// 3、比对用户名和密码
			// 4、分配$_SESSION才能进行登录
			// 操作：
			// 1、获取验证码 Q('post.code') 和 $_SESSION['code'];
		$code = strtoupper(Q('post.code'));  //将获取到的验证码转化为大写。
		// $code = Q('post.code',NULL,'strtoupper');
		if($code != $_SESSION['code']){	   //若获取到的验证码与$_SESSION['code'] 不相等，则将错误压入到error中，并返回false值，在controller可以获取到该错误，并弹出该错误提示.
			$this->error = "验证码错误";
			return;
		}
		// 2、判断用户名是否存在
		// 获取用户名和密码(post提交过来的数据)
		$aaccount = Q('post.aaccount');
		$apwd = Q('post.apwd','','md5');
		// p($aaccount);
		// p($apwd);
		// 判断：这儿可以说是为了验证用户名是否存在
		$adminData = $this->where(array('aaccount'=>$aaccount))->find();
		// p($adminData);die;
		// Array
		// (
		//     [aid] => 1
		//     [aaccount] => admin
		//     [aname] => 山中客
		//     [apwd] => 7fef6171469e80d32c0559f88b377245
		//     [aip] => 127.0.0.1
		//     [islock] => 0
		//     [atime] => 1469446407
		// )
		if(!$adminData){
			$this->error = '用户名或密码有误';
			return;   //这儿必须的有返回值
		}
		// p($adminData['apwd']);die;
		// 验证密码是否正确
		if($apwd != $adminData['apwd']){
			$this->error = '用户名或密码有误';
		}
		// 4、分配$_SESSION
		$_SESSION['info'] = array(
			'aid' => $adminData['aid'],
			'aaccount'=> $adminData['aaccount'],
			'aip' => $_SERVER['REMOTE_ADDR'],  //这是ip地址，将其压缩到info里面。			
		);
		return true;

	}
}
	
?>